import { PageQuery } from '@/api/types.ts'

export namespace User {
    /**
     * 用户分页查询对象
     */
    export interface Query extends PageQuery {
        status?: number
        /** 所属部门ID */
        deptId?: number
    }
    /**
     * 分页列表返回结构
     */
    export interface Row {
        /** 用户ID */
        id: number
        /** 用户名 */
        username: string
        /** 昵称 */
        nickname: string
        /**  手机号 */
        mobile: string
        /** 性别 */
        genderLabel: string
        /** 用户头像地址 */
        avatar: string
        /** 用户邮箱 */
        email: string
        /** 用户状态(1:启用;0:禁用) */
        status: number
        /**  部门名称 */
        deptName: string
        /** 角色名称，多个使用英文逗号(,)分割 */
        roleNames: string
        /** 创建时间 */
        createTime: string
    }

    /**
     *  编辑表单和表单数据
     */
    export interface Form {
        /** 用户ID */
        id?: number
        /** 用户名 */
        username?: string
        /** 昵称 */
        nickname?: string
        /**  手机号 */
        mobile?: string
        /** 性别  */
        gender?: number
        /** 邮箱地址  */
        email?: string
        /** 头像  */
        avatar?: string
        /** 用户状态（1：正常、0：禁用）  */
        status?: number
        /**  部门ID  */
        deptId?: number
        /** 角色ID集合  */
        roleIds?: number[]
    }

    /**
     * 密码表单
     */
    export interface Password {
        /** 用户ID */
        userId?: number
        /** 用户密码 */
        password?: string
    }

    export interface Status {
        /** 用户ID */
        userId: number
        /** 用户状态（1：启用；0：禁用） */
        status: number
    }

    /**
     * 注册
     */
    export namespace Register {
        /**
         * 注册表单
         */
        export interface Form {
            /** 登录账号 */
            username: string
            /** 手机号码 */
            mobile?: string
            /** 密码 */
            password: string
            /** 验证码 */
            code: string
        }
    }
}
